﻿<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
    <title>Read Me</title>
    <style type="text/css">
        .DefaultParagraph
        {
            font-family: Tahoma;
        }
    </style>
</head>
<body>

    <h1>
        Project Structure</h1>
    <h2>
        MiniCaseAbsUI</h2>
    <p class="DefaultParagraph">
        This project defines the interfaces and abstract classes related to user 
        interface. It has no dependency of a particular UI framework.</p>
    <h2>
        MiniCase</h2>
    <p class="DefaultParagraph">
        This project defines the main application, having the UI implemented using QT 
        framework.</p>
    <h1>
        Solution Configurations</h1>
    <h2>
        Configuring a New Project</h2>
    <ul class="DefaultParagraph">
        <li>Create the project</li>
        <li><b>Directories: </b>Setup the output and intermediate directories (use 3rdPartyComponents.vsprops 
            file to inherit the values from it).</li>
        <li><b>DLL: </b>
            <ul class="DefaultParagraph">
                <li>Make a config header file and declare the DLL related macros (<tt>&lt;LIB_NAME&gt;_API</tt> 
            defined as <tt>__declspec( dllimport)</tt> or <tt>__declspec( dllexport)</tt>).</li>
                <li>Define the build dll symbol for the DLL project, so the classes and functions 
                    are exported.</li>
            </ul>
        </li>
        <li><b>QT Dependent DLL/EXE:</b><ul class="DefaultParagraph">
            <li>Add <tt>$(QtIncludeDir)</tt> to the list of include directories.</li>
                    <li>Add <tt>$(QtLibDir)</tt> to the list of library include directories.</li>
                    <li>Add <tt>$(QtGuiLibDebug)</tt> (for Debug target) and <tt>$(QtGuiLibRelease)</tt> (for Release 
                        target) to the list of libraries to be linked</li>
                </ul>
            </li>
            <li><b>Boost Unit Test Project:</b><ul class="DefaultParagraph">
                <li>Add BoostUnitTest.vsprops custom property pages from Property Manager view.</li>
                </ul>
            </li>
    </ul>

</body>
</html>
